unit untPessoas1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untBase, AppEvnts, Menus, cxGraphics, cxControls, cxLookAndFeels,
  cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCoffee,
  dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans,
  dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
  dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue,
  dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
  dxSkinPumpkin, dxSkinSeven, dxSkinSharp, dxSkinSilver, dxSkinSpringTime,
  dxSkinStardust, dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine,
  dxSkinXmas2008Blue, dxSkinscxPCPainter, cxContainer, cxEdit, cxStyles,
  cxCustomData, cxFilter, cxData, cxDataStorage, DB, cxDBData, cxGridLevel,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
  cxGridCustomView, cxGrid, cxGroupBox, cxNavigator, cxDBNavigator, cxTextEdit,
  cxDBEdit, cxLabel, ExtCtrls, cxPC, DBCtrls, cxCheckGroup, cxDBCheckGroup,
  cxCheckBox, StdCtrls, cxButtons;

type
  TfrmPessoas1 = class(TfrmBase)
    pgcPessoas: TcxPageControl;
    tbsCliente: TcxTabSheet;
    pnlCliente: TPanel;
    Splitter1: TSplitter;
    pgcCliente: TcxPageControl;
    tbsDadosCliente: TcxTabSheet;
    lblNome: TcxLabel;
    edtNome: TcxDBTextEdit;
    edtFantasia: TcxDBTextEdit;
    lblFantasia: TcxLabel;
    lblTipo: TcxLabel;
    edtTipo: TcxDBTextEdit;
    lblData_Cadastro: TcxLabel;
    edtData_Cadastro: TcxDBTextEdit;
    gbbDocumentoCliente: TcxGroupBox;
    edtIE: TcxDBTextEdit;
    lblIE: TcxLabel;
    edtRG: TcxDBTextEdit;
    lblRG: TcxLabel;
    edtCPF: TcxDBTextEdit;
    lblCPF: TcxLabel;
    edtCNPJ: TcxDBTextEdit;
    lblCNPJ: TcxLabel;
    tbsComplementoCliente: TcxTabSheet;
    tbsReferenciaCliente: TcxTabSheet;
    grdCliente: TcxGrid;
    grdvwCliente: TcxGridDBTableView;
    grdlvlCliente: TcxGridLevel;
    tbsEmpresa: TcxTabSheet;
    lblEndereco: TcxLabel;
    edtEndereco: TcxDBTextEdit;
    lblBairro: TcxLabel;
    edtBairro: TcxDBTextEdit;
    lblCEP: TcxLabel;
    edtCEP: TcxDBTextEdit;
    lblCidade: TcxLabel;
    lblEmail: TcxLabel;
    edtEmail: TcxDBTextEdit;
    lblCelular: TcxLabel;
    edtCelular: TcxDBTextEdit;
    gbbEndereco_Cliente: TcxGroupBox;
    gbbTelefone_Cliente: TcxGroupBox;
    edtTelefone_1: TcxDBTextEdit;
    lblTelefone_1: TcxLabel;
    edtTelefone_2: TcxDBTextEdit;
    lblTelefone_2: TcxLabel;
    edtFax: TcxDBTextEdit;
    lblFax: TcxLabel;
    edtUF: TcxDBTextEdit;
    lblUF: TcxLabel;
    gbbDados_Cliente: TcxGroupBox;
    lblObs: TcxLabel;
    edtObs: TcxDBTextEdit;
    lblHomePage: TcxLabel;
    edtHomePage: TcxDBTextEdit;
    edtCidade: TcxDBTextEdit;
    gbbFinanceiro_Cliente: TcxGroupBox;
    lblMultiplicador: TcxLabel;
    edtMultiplicador: TcxDBTextEdit;
    ckbMultiplicador: TcxDBCheckBox;
    ckbFaixa_Cotacao: TcxDBCheckBox;
    lblContato: TcxLabel;
    edtContato: TcxDBTextEdit;
    pnlEmpresa: TPanel;
    pgcEmpresa: TcxPageControl;
    Splitter2: TSplitter;
    grdEmpresa: TcxGrid;
    grdvwEmpresa: TcxGridDBTableView;
    grdlvlEmpresa: TcxGridLevel;
    tbsDados_Empresa: TcxTabSheet;
    tbsVendedor: TcxTabSheet;
    grdVendedor: TcxGrid;
    grdvwVendedor: TcxGridDBTableView;
    grdlvlVendedor: TcxGridLevel;
    grdvwVendedorID_VENDEDOR: TcxGridDBColumn;
    grdvwVendedorNOME_VENDEDOR: TcxGridDBColumn;
    grdvwVendedorNOME_ABREVIADO: TcxGridDBColumn;
    grdvwEmpresaTIPO: TcxGridDBColumn;
    grdvwEmpresaRAZAO_SOCIAL: TcxGridDBColumn;
    grdvwEmpresaNOME_FANTASIA: TcxGridDBColumn;
    grdvwEmpresaENDERECO: TcxGridDBColumn;
    grdvwEmpresaBAIRRO: TcxGridDBColumn;
    grdvwEmpresaID_CIDADE: TcxGridDBColumn;
    grdvwEmpresaCIDADE: TcxGridDBColumn;
    grdvwEmpresaCEP: TcxGridDBColumn;
    grdvwEmpresaUF: TcxGridDBColumn;
    grdvwEmpresaCPF_CNPJ: TcxGridDBColumn;
    gbbDados_Empresa: TcxGroupBox;
    edtRazaoSocial: TcxDBTextEdit;
    lblRazaoSocial: TcxLabel;
    edtFantasia_Empresa: TcxDBTextEdit;
    lblFantasia_Empresa: TcxLabel;
    edtEndereco_Empresa: TcxDBTextEdit;
    lblEndereco_Empresa: TcxLabel;
    edtBairro_Empresa: TcxDBTextEdit;
    lblBairro_Empresa: TcxLabel;
    edtCepEmpresa: TcxDBTextEdit;
    lblCepEmpresa: TcxLabel;
    edtCidadeEmpresa: TcxDBTextEdit;
    lblCidadeEmpresa: TcxLabel;
    edtUFEmpresa: TcxDBTextEdit;
    lblUFEmpresa: TcxLabel;
    edtCPFEmpresa: TcxDBTextEdit;
    lblCPFEmpresa: TcxLabel;
    edtTipoEmpresa: TcxDBTextEdit;
    lblTipoEmpresa: TcxLabel;
    pnlBotaoCliente: TPanel;
    btnSalvarCliente: TcxButton;
    pnlBotaoEmpresa: TPanel;
    btnSalvarEmpresa: TcxButton;
    tbsFornecedor: TcxTabSheet;
    pnlBotaoFornecedor: TPanel;
    btnSalvarFornecedor: TcxButton;
    grdFornecedor: TcxGrid;
    grdvwFornecedor: TcxGridDBTableView;
    grdlvlFornecedor: TcxGridLevel;
    pgcFornecedor: TcxPageControl;
    tbsDadosFornecedor: TcxTabSheet;
    gbbDadosFornecedor: TcxGroupBox;
    edtDataCadastroFornecedor: TcxDBTextEdit;
    edtEmailFornecedor: TcxDBTextEdit;
    edtFantasiaFornecedor: TcxDBTextEdit;
    edtNomeFornecedor: TcxDBTextEdit;
    edtTipoFornecedor: TcxDBTextEdit;
    lblDataCadastroFornecedor: TcxLabel;
    lblEmailFornecedor: TcxLabel;
    lblFantasiaFornecedor: TcxLabel;
    lblNomeFornecedor: TcxLabel;
    lblTipoFornecedor: TcxLabel;
    lblObsFornecedor: TcxLabel;
    edtObsFornecedor: TcxDBTextEdit;
    lblHomePageFornecedor: TcxLabel;
    edtHomePageFornecedor: TcxDBTextEdit;
    tbsComplementoFornecedor: TcxTabSheet;
    gbbEnderecoFornecedor: TcxGroupBox;
    edtBairroFornecedor: TcxDBTextEdit;
    edtCEPFornecedor: TcxDBTextEdit;
    edtEnderecoFornecedor: TcxDBTextEdit;
    lblBairroFornecedor: TcxLabel;
    lblCEPFornecedor: TcxLabel;
    lblCidadeFornecedor: TcxLabel;
    lblEnderecoFornecedor: TcxLabel;
    edtUFFornecedor: TcxDBTextEdit;
    lblUFFornecedor: TcxLabel;
    edtCidadeFornecedor: TcxDBTextEdit;
    gbbTelefoneFornecedor: TcxGroupBox;
    edtCelularFornecedor: TcxDBTextEdit;
    lblCelularFornecedor: TcxLabel;
    edtTelefone1Fornecedor: TcxDBTextEdit;
    lblTelefone1Fornecedor: TcxLabel;
    edtTelefone2Fornecedor: TcxDBTextEdit;
    lblTelefone2Fornecedor: TcxLabel;
    edtFaxFornecedor: TcxDBTextEdit;
    lblFaxFornecedor: TcxLabel;
    Splitter3: TSplitter;
    grdvwFornecedorNOME_FORNECEDOR: TcxGridDBColumn;
    grdvwFornecedorNOME_FANTASIA: TcxGridDBColumn;
    grdvwFornecedorCONTATO: TcxGridDBColumn;
    gbbDocumentoFornecedor: TcxGroupBox;
    edtRG_IE_Fornecedor: TcxDBTextEdit;
    lblRG_IE_Fornecedor: TcxLabel;
    edtCNPJ_CPF_Fornecedor: TcxDBTextEdit;
    lblCNPJ_CPF_Fornecedor: TcxLabel;
    edtContatoFornecedor: TcxDBTextEdit;
    lblContatoFornecedor: TcxLabel;
    grdvwFornecedorENDERECO: TcxGridDBColumn;
    grdvwFornecedorBAIRRO: TcxGridDBColumn;
    grdvwFornecedorCIDADE: TcxGridDBColumn;
    grdvwFornecedorCEP: TcxGridDBColumn;
    grdvwFornecedorUF: TcxGridDBColumn;
    grdvwFornecedorTELEFONE_1: TcxGridDBColumn;
    grdvwFornecedorTELEFONE_2: TcxGridDBColumn;
    grdvwFornecedorCELULAR: TcxGridDBColumn;
    grdvwFornecedorFAX: TcxGridDBColumn;
    grdvwFornecedorTIPO: TcxGridDBColumn;
    grdvwFornecedorEMAIL: TcxGridDBColumn;
    grdvwClienteDATA_CADASTRO: TcxGridDBColumn;
    grdvwClienteTIPO: TcxGridDBColumn;
    grdvwClienteID_CLIENTE: TcxGridDBColumn;
    grdvwClienteNOME_CLIENTE: TcxGridDBColumn;
    grdvwClienteNOME_FANTASIA: TcxGridDBColumn;
    grdvwClienteCPF: TcxGridDBColumn;
    grdvwClienteCNPJ: TcxGridDBColumn;
    grdvwClienteRG: TcxGridDBColumn;
    grdvwClienteINSC_EST: TcxGridDBColumn;
    grdvwClienteENDERECO: TcxGridDBColumn;
    grdvwClienteBAIRRO: TcxGridDBColumn;
    grdvwClienteID_CIDADE: TcxGridDBColumn;
    grdvwClienteCIDADE: TcxGridDBColumn;
    grdvwClienteCEP: TcxGridDBColumn;
    grdvwClienteUF: TcxGridDBColumn;
    grdvwClienteTELEFONE_1: TcxGridDBColumn;
    grdvwClienteTELEFONE_2: TcxGridDBColumn;
    grdvwClienteFAX: TcxGridDBColumn;
    grdvwClienteCELULAR: TcxGridDBColumn;
    grdvwClienteCONTATO: TcxGridDBColumn;
    grdvwClienteEMAIL: TcxGridDBColumn;
    grdvwClienteHOMEPAGE: TcxGridDBColumn;
    grdvwClienteSITUACAO: TcxGridDBColumn;
    grdvwClienteOBS: TcxGridDBColumn;
    grdvwClienteESPECIE: TcxGridDBColumn;
    grdvwClienteMULTIPLICADOR: TcxGridDBColumn;
    grdvwClienteTIPO_CALCULO_VENDA: TcxGridDBColumn;
    procedure FormShow(Sender: TObject);
    procedure btnSalvarClienteClick(Sender: TObject);
    procedure btnSalvarEmpresaClick(Sender: TObject);
    procedure edtMultiplicadorPropertiesChange(Sender: TObject);
    procedure btnSalvarFornecedorClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPessoas1: TfrmPessoas1;

implementation
uses untDataModule;
{$R *.dfm}

procedure TfrmPessoas1.btnSalvarClienteClick(Sender: TObject);
begin
  inherited;
  if (DM.cdsCliente.State = dsInsert) or (DM.cdsCliente.State = dsEdit) then
  begin
    DM.cdsCliente.Post;
    DM.cdsCliente.ApplyUpdates(-1);
  end;
end;

procedure TfrmPessoas1.btnSalvarEmpresaClick(Sender: TObject);
begin
  inherited;
  if (DM.cdsEmpresa.State = dsInsert) or (DM.cdsEmpresa.State = dsEdit) then
  begin
    DM.cdsEmpresa.Post;
    DM.cdsEmpresa.ApplyUpdates(-1);
  end;
  if (DM.cdsVendedor.State = dsInsert) or (DM.cdsVendedor.State = dsEdit) then
  begin
    DM.cdsVendedor.Post;
    DM.cdsVendedor.ApplyUpdates(-1);
  end;
end;

procedure TfrmPessoas1.btnSalvarFornecedorClick(Sender: TObject);
begin
  inherited;
  if (DM.cdsVendedor.State = dsInsert) or (DM.cdsVendedor.State = dsEdit) then
  begin
    DM.cdsFornecedor.Post;
    DM.cdsFornecedor.ApplyUpdates(-1);
  end;
end;

procedure TfrmPessoas1.edtMultiplicadorPropertiesChange(Sender: TObject);
begin
  inherited;
  edtMultiplicador.Enabled := ckbMultiplicador.Checked;
end;

procedure TfrmPessoas1.FormShow(Sender: TObject);
begin
  inherited;
  pgcPessoas.ActivePageIndex    := 0;
  pgcCliente.ActivePageIndex    := 0;
  pgcEmpresa.ActivePageIndex    := 0;
  pgcFornecedor.ActivePageIndex := 0;

  DM.cdsCliente.Close;
  DM.cdsCliente.Open;

  DM.cdsFornecedor.Close;
  DM.cdsFornecedor.Open;

  DM.cdsEmpresa.Close;
  DM.cdsEmpresa.Open;

  DM.cdsVendedor.MasterSource    := DM.dtsEmpresa;
  DM.cdsVendedor.MasterFields    := 'ID_EMPRESA';
  DM.cdsVendedor.IndexFieldNames := 'ID_EMPRESA';

  DM.cdsVendedor.Close;
  DM.cdsVendedor.Open;
end;

end.
